package com.flycms.module.app.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author mdoenglang
 */

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class App implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * APP名称
     */
    private String appName;

    /**
     * 站外路径
     */
    private String appUrl;

    /**
     * 描述
     */
    private String desc;

    /**
     * 图片路径
     */
    private String imgUrl;

    /**
     * logo图片路径
     */
    private String logoImgUrl;

    /**
     * 服务提供商
     */
    private String supplier;

    /**
     * 当前版本
     */
    private String version;

    /**
     * 平台分类 1 平台内工具；2 非平台内工具
     * @see com.flycms.module.app.enums.PlatformTypeEnum
     */
    private Integer platformType;

    /**
     * 产品分类
     * @see com.flycms.module.app.enums.AppTypeEnum
     */
    private Integer appType;

    /**
     * 交付方式
     * @see com.flycms.module.app.enums.DeliveryTypeEnum
     */
    private Integer deliveryType;

    /**
     * 应用场景
     * @see com.flycms.module.app.enums.UseTypeEnum
     */
    private Integer useType;

    /**
     * 星星
     */
    private BigDecimal star;

    /**
     * 点击数
     */
    private Integer hits;

    /**
     * 周期点击数
     */
    private Integer cycleHits;

    /**
     * 评论数
     */
    private Integer evalNum;

    /**
     * 周期评论数
     */
    private Integer cycleEvalNum;

    /**
     * 状态
     * @see  com.flycms.module.common.enums.StatusEnum
     */
    private Integer status;

    /**
     * 创建人ID
     */
    private Long creatorId;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 修改人ID
     */
    private Long updaterId;

    /**
     * 修改时间
     */
    private Date updatedTime;

    /**
     * app详情
     */
    private AppDetail appDetail;

}
